Programmable, read-only memories (PROM's) are used in a wide variety of applications in the computer and computer related industries. Such memories are marketed in an unprogrammed state, where all of the memory locations initially are programmed with one or the other of the two binary states, "0" or "1". When programming selected memory locations to the opposite state is desired, the "X" and "Y" address lines, used to identify that memory location, are enabled, and a programming voltage is applied to those lines to change the state of the memory at that location from the preprogrammed or unprogrammed memory to the opposite state. If a fusible link is used at each of the memory locations to electrically interconnect the conductive "X" and "Y" leads, the programming voltage is used to burn or sever the link to cause the memory position to be non-conductive between the two "X" and "Y" leads. This is selectively done for each of the memory locations which are to be programmed to the opposite state from the unprogrammed memory.
Another type of programmable read-only memory is provided in the form of a vROM memory. A vROM memory initially is manufactured with what may be termed as "antifuses" between the intersection points of the metal conductors for the "X" and "Y" coordinates. This antifuse layer or link is fabricated from undoped amorphous (non-crystalline) silicon, as a high resistance layer between the two metal layers or leads. A programming voltage higher than the normal operating voltage, subsequently to be used with the memory, is applied across the leads to form a conducting filament. Thus, a vROM programmable memory is "open" (insulator) in its original or unprogrammed state, and becomes "closed" (conductive) upon being programmed. In all other respects, this type of memory subsequently may be used in a system in the same manner as the fusible PROM memory discussed above. In the programming of a vROM memory, however, the application of the programming voltage is applied to those memory locations which are to be conductive in the final product, whereas in a fusible PROM memory, the application of the programming voltage is applied to those memory locations which are to become open or insulating in the final programmed state of the memory.
In the programming of vROM memories, a tester circuit typically is employed during the programming operation to measure the current flow through the programmed links to ascertain or verify the programming operation. The tester used in programming the memory operates first to select the memory location to be programmed. Then a programming potential is applied to an operational amplifier circuit to apply a programming voltage to the selected address. In the case of a vROM memory, this voltage is used to fuse the antifuse region. When the conventional operational amplifier system is used to effect the fusing, a comparator is employed to detect the flow of current through the link being programmed. This comparator flips from one binary condition at its output to another, whenever any current is detected. As a consequence, if the programming of the link or address location is weak or incomplete (resulting in low current flow), the conventional programming system does not detect this potential weakness. Such a failure to completely program the link, however, may result in improper operation of the programmable memory in its subsequent system application. The failure of this type of a programming system to detect weak or incomplete programming is the result of the use of a voltage dropping resistor at the input of the comparator circuit to establish the detection indication.
The U.S. patent to Baker U.S. Pat. No. 5,272,388 is directed to a method for programming and verifying the programming of a fusible link or anti-fuse. The system of Baker, however, is always operated in a high voltage mode, even during subsequent operation of the circuit which has been programmed according to the method disclosed in Baker. The Baker system and method checks the current flow through the selected fusible link without reducing the programming voltage. In the memory of Baker, the subsequent operating voltage, is sufficiently high that even if a fine filament fracture exists in the fusible link after programming, the high operating voltage reestablishes the link through a re-melting of the filament at and around the fracture. Since the operating voltage is sufficiently high to re-establish such links, the circuit of Baker may be considered to be "self-healing", even though fine filament fractures or slightly incomplete fusing takes place during the programming steps. Such fine filament fractures, however, cannot be tolerated for a system using an operating voltage which is low compared to the programming voltage. Such low operating voltages do not result in a "self-healing" of fine filament fractures. The presence of such fractures in a programmed memory then results in erroneous operation of the system with which the memory is associated.
The U.S. Pat. No. to Galbraith 5,371,414 is directed to a method for simultaneously programming multiple anti-fuse devices in a memory array. This patent, however, does not overcome the disadvantages of the system and method of the Baker patent mentioned above.
Another U.S. Pat. No. to Eltoukhy 5,008,855 also is directed to a system similar to that of the Baker patent, in which programming voltage pulses are applied across the electrodes of an anti-fuse; and the current drawn by the anti-fuse is simultaneously measured to determine when the anti-fuse dielectric has ruptured. This programming method, however, also fails to detect fine filament fractures, which result in failure of operation of such a device in a low voltage operating environment.
It is desirable to provide an improved effective, accurate system and method for programming and verifying the programming of vROM programmable memories.